An iconic programming system is a "programming-less" environment where programming is done by connecting graphical images of devices (icons), together with connecting lines, to create an iconic network which represents a software program or simulation model. The iconic programming system may be used in research and development test environments, where several different electronic devices are connected to test a system or device. Programming such a system requires instructions to cause the various devices to perform desired functions in order to operate as a system.
When an iconic programming system is used, each device is represented by a graphical icon, also called a graphical object, and the connections between the devices are represented by connecting lines between the graphical icon images. Each device may have multiple lines connecting from other devices, bringing data into the device for it to use during its execution. Each device may also have multiple output lines connecting to other devices, to pass its new or changed data on to the other devices in the program. In addition to graphical icons representing devices in such a system, graphical icons are provided for programming functions, for example looping, IF-THEN statements, etc. By combining device and programming icons, a user can create an iconic network involving the programmed operation of several devices. An example of a simple iconic network is shown in FIG. 2, described below.
When the program runs, each device executes in turn, and during its execution, each device may use the data on its input lines, modify it, and put the same or other data on its output lines for other devices to use.
When data is passed along a connecting line from one icon to another, it will have a specific form. For example, data may be a single dimensioned array of integers, or it may be a real scalar, etc. Some terminals of some icons can take data in only one form. Prior art iconic systems do not provide a way for a programmer to control the form of the data received by an icon. If an icon receives data of an incorrect form, it is unable to process the data and processing of the entire system must stop.
There is a need in the art then for a system that will provide a way for a programmer in an iconic system to restrict the form of data acceptable to an icon. There is further need for such a system to identify a connection error when a connection is being made between icons. There is a further need for such a system that will automatically convert incorrect data, if such a conversion is possible. The present invention meets these needs.
Various features and components of an iconic network system are disclosed in U.S. patent applications:
(A) Application Ser. No. 07/483,478 filed Feb. 22, 1990 for PROGRAMMING ESCAPE FROM AN ICONIC SYSTEM of Bailey, Beethe, Wolber, and Williams; PA0 (B) Application Ser. No. 07/537,550 filed Jun. 13, 1990 for PROCESSING METHOD FOR AN ICONIC PROGRAMMING SYSTEM of Beethe; PA0 (C) Application Ser. No. 07/661,936 filed Feb. 28, 1991 for LINE PROBE IN AN ICONIC PROGRAMMING SYSTEM of Wolber;
each of which is hereby specifically incorporated by reference for all that is disclosed therein.